home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-29 | 2.1 KB | 130 lines | [TEXT/CWIE] |
- // TemperatureDoc.c -- document-level functions
-
- #include <Types.h>
- #include <Events.h>
- #include <Menus.h>
- #include <stdlib.h>
-
- #include "Globals.h"
- #include "ResourceDefs.h"
- #include "Dispatcher.h"
- #include "Miscellany.h"
- #include "TemperatureEngine.h"
-
- #include "AboutDialog.h"
- #include "DDocData.h"
- #include "MainWindow.h"
- #include "TemperatureDoc.h"
-
- static TemperatureEngine* GetEngine (AMDoc* self);
-
- static void DoInvokeAbout (AMDoc* self);
-
- //----------
- TemperatureDoc* NewTemperatureDoc ()
- {
- TemperatureDoc* doc;
-
- doc = (TemperatureDoc*)malloc (sizeof (TemperatureDoc));
- TemperatureDoc_Init (doc);
- SetClassID (doc, classTemperatureDoc);
-
- return doc;
- }
-
- //----------
- void DeleteDoc (
- AMDoc* doc)
- {
- TemperatureDoc_Free ((TemperatureDoc*)doc);
- free (doc);
- }
-
- //----------
- void TemperatureDoc_Init (
- TemperatureDoc* self)
- {
- ((AMDoc*)self)->mEngine = (AMEngine*) NewTemperatureEngine ();
-
- self->mMainWindowPtr = nil;
- }
-
- //----------
- void TemperatureDoc_Free (
- TemperatureDoc* self)
- {
- }
-
- //----------
- TemperatureEngine* GetEngine (
- AMDoc* self)
- {
- return (TemperatureEngine*) (self->mEngine);
- }
-
- //----------
- void OpenWindows (
- AMDoc* self)
- {
- TemperatureEngine* engine = GetEngine (self);
-
- // replace this code to get data from someplace useful
-
- MainWindow_Create (self, GetDocData (engine));
- }
-
- //----------
- Boolean WouldCloseDoc (
- AMDoc* doc,
- WindowPtr inWindPtr)
- {
- TemperatureDoc* self = (TemperatureDoc*) doc;
- short numOpen = 0;
-
- if (self->mMainWindowPtr != nil) numOpen++;
-
- return (numOpen <= 1);
- }
-
- //----------
- void DoInvokeAbout (
- AMDoc* self)
- {
- if (GetAboutDialog ()) {
- /* do something */
- }
- }
-
- //----------
- Boolean DoDocCommand (
- AMDoc* self,
- long inCommand)
- {
- Boolean result = true;
-
- switch (inCommand) {
- case cmdSave:
- DoSave (self);
- break;
- case cmdSaveAs:
- DoSaveAs (self);
- break;
- case cmdRevert:
- DoRevert (self);
- break;
- case cmdPageSetup:
- DoPageSetup (self);
- break;
- case cmdPrint:
- DoPrint (self);
- break;
- case cmdInvokeAbout:
- DoInvokeAbout (self);
- break;
-
- default:
- result = false;
- } // switch
- return result;
- }
-